part of '../page.dart';

class _UseCaseInputPresentationModel {
  const _UseCaseInputPresentationModel({
    required this.id,
    required this.markedToDelete,
    required this.appearanceAnimationController,
    required this.appearanceAnimation,
    required this.exampleMarkdownTextEditingController,
    required this.exampleMarkdownTextFieldFocusNode,
  });

  final String id;
  final bool markedToDelete;

  final AnimationController appearanceAnimationController;
  final Animation<double> appearanceAnimation;

  final TextEditingController exampleMarkdownTextEditingController;
  final FocusNode exampleMarkdownTextFieldFocusNode;

  _UseCaseInputPresentationModel copyWith({
    String Function()? id,
    bool Function()? markedToDelete,
    AnimationController Function()? appearanceAnimationController,
    Animation<double> Function()? appearanceAnimation,
    TextEditingController Function()? exampleMarkdownTextEditingController,
    FocusNode Function()? exampleMarkdownTextFieldFocusNode,
  }) {
    return _UseCaseInputPresentationModel(
      id: id == null ? this.id : id(),
      markedToDelete: markedToDelete == null ? this.markedToDelete : markedToDelete(),
      appearanceAnimationController: appearanceAnimationController == null
          ? this.appearanceAnimationController
          : appearanceAnimationController(),
      appearanceAnimation:
          appearanceAnimation == null ? this.appearanceAnimation : appearanceAnimation(),
      exampleMarkdownTextEditingController: exampleMarkdownTextEditingController == null
          ? this.exampleMarkdownTextEditingController
          : exampleMarkdownTextEditingController(),
      exampleMarkdownTextFieldFocusNode: exampleMarkdownTextFieldFocusNode == null
          ? this.exampleMarkdownTextFieldFocusNode
          : exampleMarkdownTextFieldFocusNode(),
    );
  }
}
